package org.base23.video.domain.dto;

import lombok.Data;
import java.util.List;
import java.util.ArrayList;

/**
 * AI指导响应
 */
@Data
public class AiGuidanceResponse {
    
    /**
     * 会话ID
     */
    private String conversationId;
    
    /**
     * AI回复内容
     */
    private String aiResponse;
    
    /**
     * 回复类型
     */
    private ResponseType responseType;
    
    /**
     * 推荐的后续问题
     */
    private List<String> suggestedQuestions = new ArrayList<>();
    
    /**
     * 相关的时间戳列表（AI提到的关键时间点）
     */
    private List<Double> relatedTimestamps = new ArrayList<>();
    
    /**
     * 相关的问题帧ID列表
     */
    private List<Integer> relatedFrameIds = new ArrayList<>();
    
    /**
     * 置信度（AI回答的可信度，0-100）
     */
    private Integer confidence;
    
    /**
     * 是否需要更多信息
     */
    private Boolean needMoreInfo;
    
    /**
     * 澄清问题（如果AI需要用户澄清）
     */
    private String clarificationQuestion;
    
    /**
     * 回复类型枚举
     */
    public enum ResponseType {
        DIRECT_ANSWER,      // 直接回答
        ANALYSIS_REFERENCE, // 分析结果引用
        SUGGESTION,         // 建议
        INSTRUCTION,        // 指导
        CLARIFICATION,      // 需要澄清
        ENCOURAGEMENT      // 鼓励
    }
    
    /**
     * 添加推荐问题
     */
    public void addSuggestedQuestion(String question) {
        if (this.suggestedQuestions == null) {
            this.suggestedQuestions = new ArrayList<>();
        }
        this.suggestedQuestions.add(question);
    }
    
    /**
     * 添加相关时间戳
     */
    public void addRelatedTimestamp(Double timestamp) {
        if (this.relatedTimestamps == null) {
            this.relatedTimestamps = new ArrayList<>();
        }
        this.relatedTimestamps.add(timestamp);
    }
} 